With the proliferation of computing and networking technologies, a number of business, productivity, and similar software solutions are used widely by individuals and groups. Compared to the conventional local application model, where each user had individually installed applications, the more common usage model today includes hosted (e.g., cloud-based) applications, data management tools, or even operating systems. Typically, a managing entity may provide and oversee multiple facets of software based solutions including multiple applications for a wide range of end users.
Because innovation is high paced in software world, user needs change rapidly, and competition is strong, new programs and features for existing programs (for example, to address user demands, and/or take advantage of newer hardware platforms) are constantly developed by software providers. While updates, upgrades, and other enhancements are typically desired, in a hosted environment (or even a manufacturer-to-user model), frequent upgrades may not be practical or feasible in some cases. For example, service providers may spend substantial periods to upgrade to a new version because of lack of visibility into what solutions (e.g., document files, add-ins, web extensions) are actively used by end uses, which ones are the business solutions that need to be kept active with new version of, where the compatibility issues may exist and how to remediate them, etc.
Information Technology (IT) administrators typically need to spend substantial time to make sure that solutions are ready for an upgrade. For example, a list of solutions may need to be created to understand how many solutions need to be tested and remediated for version compatibility. Solution owners (people responsible for groups of users) may be surveyed, etc.
An add-in is a set of software components that adds specific abilities to a larger software application. Add-ins enable customization of the functionality of an application. For example, add-ins are commonly used in web browsers to play video, scan for viruses, and display new file types. A host application may provide services which an add-in can use, including a way for add-ins to register themselves with the host application and a protocol for the exchange of data with add-ins. Add-ins depend on the services provided by the host application and do not usually work by themselves. In conventional systems, an IT administrator may not be able to manage which add-in are loaded with an application in a user's computer, block or force loading of particular add-ins. To manage add-ins, an administrator may need to learn which add-ins are commonly used, have loading errors, or have slow performance.